課程名稱 |
演算法 Algorithms |
開課學期 |
104-2 |
授課對象 |
電機資訊學院 電機工程學系 |
授課教師 |
李建模 |
課號 |
EE4033 |
課程識別碼 |
901 39000 |
班次 |
|
學分 |
3 |
全/半年 |
半年 |
必/選修 |
選修 |
上課時間 |
星期二7,8,9(14:20~17:20) |
上課地點 |
電二143 |
備註 |
總人數上限:100人 |
Ceiba 課程網頁 |
http://ceiba.ntu.edu.tw/1042_algorithms |
課程簡介影片 |
|
核心能力關聯 |
核心能力與課程規劃關聯圖 |
課程大綱
|
為確保您我的權利,請尊重智慧財產權及不得非法影印
|
課程概述 |
This class introduces basic concepts of design and analysis of computer algorithms. The course contents include fundamental knowledge, sorting, trees, dynamic programming, graphs, NP-completeness and etc. |
課程目標 |
Students will learn how to design and analyze algorithms as well as implement it in C or C++ codes to solve problems. |
課程要求 |
Computer programming skills in C or C++ is needed.
Students are required to program in Linux systems.
Background in data structures is a plus but not required.
Grading is based on homework, programming assignments, exam, project and etc. |
預期每週課後學習時數 |
|
Office Hours |
每週四 14:00~16:00 備註: 週四為PA助教輪值
若以下時間無法前來, 可以寄信另外約時間. |
指定閱讀 |
Cormen, Leiserson, Rivest, Stien, Introduction to Algorithms, 3rd edition, MIT Press, 2009. |
參考書目 |
|
評量方式 (僅供參考) |
|
週次 |
日期 |
單元主題 |
Week 1 |
2/23 |
Introduction, Foundations: CH1, CH2 |
Week 2 |
3/1 |
Foundations: CH3, CH4 |
Week 3 |
|
Sorting - Heap sort, Quick sort |
Week 4 |
|
Sorting - linear time, order statistics |
Week 5 |
|
Advance Design Techniques- Dynamic Programming |
Week 6 |
|
Advance Design Techniques - Greedy |
Week 7 |
|
Data Structure |
Week 8 |
|
Graph, shortest path |
Week 9 |
|
All pair shortest path |
Week 10 |
|
max flow |
Week 11 |
|
minimum spanning tree |
Week 12 |
|
matrix & linear programming (不考) 5/15改版 |
Week 13 |
|
NP complete problems + approximation algorithms (不考) |
Week 14 |
|
Amortized Analysis (不考) |
Week 13-1 |
|
Useful Combinatorial Optimization Algorithms (不考) |
|